<?php
/** 
 * Created by RisingSun. 
 * User: MarkSpace 
 * Date: 20250505
 * Time: 11:05
 */
// PHAR验证
function verifyPhar($pharPath) {
    try {
        $phar = new Phar($pharPath);
        return $phar->getSignature() !== false; // 如果签名无效会抛出异常
    } catch (Exception $e) {
        return false;
    }
}
// 运行时保护
function secureRuntime() {
    // 1. 反调试
    if (function_exists('xdebug_break')&&$GLOBALS['debug']==false) {
        die("安全错误：检测到调试器");
    }
    
    // 2. 关键函数保护
    $criticalFuncs = ['eval', 'exec', 'system', 'shell_exec'];
    foreach ($criticalFuncs as $func) {
        if (function_exists($func)) {
            $refl = new ReflectionFunction($func);
            if ($refl->isUserDefined()) {
                die("安全错误：关键函数被覆盖");
            }
        }
    }
    
    // 3. 运行时间限制
    define('PHAR_START_TIME', microtime(true));
    register_shutdown_function(function() {
        $maxTime = 30; // 秒
        if (microtime(true) - PHAR_START_TIME > $maxTime) {
            die("安全错误：执行超时");
        }
    });
    
    // 4. 内存限制
    ini_set('memory_limit', '256M');
    
    // 5. 禁用危险函数
    ini_set('disable_functions', 'exec,passthru,shell_exec,system,proc_open,popen');
}